#include "class.h"
#include "hook.h"

int glWidth = 0;
int glHeight = 0;

Vector3 Transform::GetPosition()
{
	if (this && m_CachedPtr(this)) {
		return ::Transform_get_position(this);
	}
	return Vector3::Zero();
}

Vector3 Transform::Get_Forward()
{
	if (this && m_CachedPtr(this)) {
		return ::get_forward(this);  // Use :: to call global function pointer
	}
	return Vector3::Zero();
}

Transform* GameObject::GetObjectTrans()
{
	if (this && m_CachedPtr(this))
	{
		return ::Component_get_transform(this);
	}
	return NULL;
}

bool* Animator::get_isHuman()
{
	if (this && m_CachedPtr(this)) {
		return ::get_isHuman(this);  // Use :: to call global function pointer
	}
	return nullptr;  // Added return for consistency
}

Transform* Animator::GetBoneTransform(int idx)
{
	if (this && m_CachedPtr(this)) {
		return ::GetBoneTransform(this, idx);  // Use :: to call global function pointer
	}
	return NULL;
}

Vector3 Camera::WoldToScreen(Vector3 Pos)
{
	if (this && m_CachedPtr(this))
	{
		return ::Camera_WorldToScreen(this, Pos);
	}
	return Vector3(0, 0, 0);
}
